package org.jsola.hr.dao;

import org.apache.ibatis.annotations.Param;
import org.jsola.hr.entity.SalaryTableDO;
import org.jsola.hr.query.SalaryTableQuery;
import org.jsola.hr.vo.SalaryTableListVO;
import org.jsola.orm.mapper.IJsolaMapper;
import org.springframework.stereotype.Repository;

import java.util.List;


/**
 * 工资表（工资条统计）
 *
 * @author zhr
 */
@Repository("hrSalaryTableDAO")
public interface ISalaryTableDAO extends IJsolaMapper<SalaryTableDO> {

    /**
     * 查询工资表（工资条统计）相关
     * @param salaryTableQuery 查询条件
     * @param siteId 所属站点id
     * @return 工资表（工资条统计）列表信息
     */
    List<SalaryTableListVO> listAllRelation(@Param("salaryTableQuery") SalaryTableQuery salaryTableQuery, @Param("siteId") String siteId);

    List<String> salaryTableImportedYearList(@Param("salaryTableQuery") SalaryTableQuery salaryTableQuery, @Param("siteId") String siteId);

    /**
     * 查询员工工资表年月分组
     * @param salaryTableQuery 查询条件
     * @param siteId 所属站点id
     * @return 工资表（工资条统计）列表信息
     */
    List<SalaryTableListVO> salaryTableGroupByEmpId(@Param("salaryTableQuery") SalaryTableQuery salaryTableQuery, @Param("siteId") String siteId);

    /**
     * 查询员工工资表年月分组相关
     * @param salaryTableQuery 查询条件
     * @param siteId 所属站点id
     * @return 工资表（工资条统计）列表信息
     */
    List<SalaryTableListVO> salaryTableGroupByMonthEmpId(@Param("salaryTableQuery") SalaryTableQuery salaryTableQuery, @Param("siteId") String siteId);
}

